{
  "name": "@freecodecamp/client",
  "version": "0.0.1",
  "description": "The freeCodeCamp.org open-source codebase and curriculum",
  "license": "BSD-3-Clause",
  "private": true,
  "engines": {
    "node": ">=16",
    "pnpm": "8"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/freeCodeCamp/freeCodeCamp.git"
  },
  "bugs": {
    "url": "https://github.com/freeCodeCamp/freeCodeCamp/issues"
  },
  "homepage": "https://github.com/freeCodeCamp/freeCodeCamp#readme",
  "author": "freeCodeCamp <team@freecodecamp.org>",
  "main": "none",
  "scripts": {
    "prebuild": "pnpm run common-setup && pnpm run build:scripts --env production",
    "build": "cross-env NODE_OPTIONS=\"--max-old-space-size=7168\" gatsby build --prefix-paths",
    "build:scripts": "pnpm run -F=browser-scripts build",
    "clean": "gatsby clean",
    "common-setup": "pnpm -w run create:shared && pnpm run create:env && pnpm run create:trending && pnpm run build:components-library",
    "create:env": "cross-env DEBUG=fcc:* ts-node ./tools/create-env.ts",
    "create:trending": "ts-node ./tools/download-trending.ts",
    "predevelop": "pnpm run common-setup && pnpm run build:scripts --env development",
    "build:components-library": "pnpm run -F=@freecodecamp/ui build",
    "develop": "cross-env NODE_OPTIONS=\"--max-old-space-size=5000\" gatsby develop --inspect=9230",
    "lint": "ts-node ./i18n/schema-validation.ts",
    "serve": "gatsby serve -p 8000",
    "serve-ci": "serve -l 8000 -c serve.json public",
    "prestand-alone": "pnpm run prebuild",
    "stand-alone": "gatsby develop",
    "validate-keys": "ts-node --project ../tsconfig.json ../tools/scripts/lint/validate-keys"
  },
  "dependencies": {
    "@babel/plugin-proposal-export-default-from": "7.23.3",
    "@babel/plugin-proposal-function-bind": "7.23.3",
    "@babel/plugin-transform-runtime": "^7.19.6",
    "@babel/preset-env": "7.23.7",
    "@babel/preset-react": "7.23.3",
    "@babel/runtime": "^7.20.13",
    "@babel/standalone": "7.23.7",
    "@fortawesome/fontawesome-svg-core": "6.4.2",
    "@fortawesome/free-brands-svg-icons": "6.4.2",
    "@fortawesome/free-solid-svg-icons": "6.4.2",
    "@fortawesome/react-fontawesome": "0.2.0",
    "@freecodecamp/loop-protect": "3.0.0",
    "@freecodecamp/react-calendar-heatmap": "1.1.0",
    "@freecodecamp/strip-comments": "3.0.1",
    "@freecodecamp/ui": "0.1.0",
    "@growthbook/growthbook-react": "0.20.0",
    "@loadable/component": "5.16.3",
    "@reach/router": "1.3.4",
    "@redux-saga/core": "^1.2.2",
    "@stripe/react-stripe-js": "1.16.5",
    "@stripe/stripe-js": "1.54.2",
    "@testing-library/jest-dom": "5.17.0",
    "algoliasearch": "4.22.1",
    "assert": "2.0.0",
    "babel-loader": "8.3.0",
    "babel-plugin-preval": "5.1.0",
    "babel-plugin-prismjs": "2.1.0",
    "bezier-easing": "2.1.0",
    "browser-cookies": "1.2.0",
    "buffer": "6.0.3",
    "canvas-confetti": "^1.6.0",
    "chai": "4.4.1",
    "crypto-browserify": "3.12.0",
    "date-fns": "2.30.0",
    "enzyme": "3.11.0",
    "final-form": "4.20.10",
    "gatsby": "3.15.0",
    "gatsby-cli": "3.15.0",
    "gatsby-link": "3.15.0",
    "gatsby-plugin-advanced-sitemap": "2.1.0",
    "gatsby-plugin-create-client-paths": "3.15.0",
    "gatsby-plugin-manifest": "3.15.0",
    "gatsby-plugin-pnpm": "^1.2.10",
    "gatsby-plugin-postcss": "4.15.0",
    "gatsby-plugin-react-helmet": "4.15.0",
    "gatsby-plugin-remove-serviceworker": "1.0.0",
    "gatsby-remark-prismjs": "5.12.0",
    "gatsby-source-filesystem": "3.15.0",
    "gatsby-transformer-remark": "5.25.1",
    "i18next": "22.5.1",
    "jquery": "3.7.1",
    "lodash": "4.17.21",
    "lodash-es": "4.17.21",
    "micromark": "4.0.0",
    "monaco-editor": "0.28.1",
    "nanoid": "3.3.7",
    "normalize-url": "4.5.1",
    "path-browserify": "1.0.1",
    "postcss": "8.4.35",
    "prismjs": "1.29.0",
    "process": "0.11.10",
    "prop-types": "15.8.1",
    "qrcode.react": "^3.1.0",
    "query-string": "7.1.3",
    "react": "16.14.0",
    "react-dom": "16.14.0",
    "react-final-form": "6.5.9",
    "react-gtm-module": "2.0.11",
    "react-helmet": "6.1.0",
    "react-hotkeys": "2.0.0",
    "react-i18next": "12.3.1",
    "react-instantsearch-core": "6.40.4",
    "react-instantsearch-dom": "6.40.4",
    "react-monaco-editor": "0.40.0",
    "react-redux": "7.2.9",
    "react-reflex": "4.1.0",
    "react-responsive": "9.0.2",
    "react-scrollable-anchor": "0.6.1",
    "react-spinkit": "3.0.0",
    "react-tooltip": "4.5.1",
    "react-transition-group": "4.4.5",
    "react-youtube": "7.14.0",
    "redux": "4.2.1",
    "redux-actions": "2.6.5",
    "@redux-devtools/extension": "3.3.0",
    "redux-observable": "1.2.0",
    "redux-saga": "1.2.3",
    "reselect": "4.1.8",
    "rxjs": "6.6.7",
    "sanitize-html": "2.11.0",
    "sass.js": "0.11.1",
    "sha-1": "1.0.0",
    "store": "2.0.12",
    "stream-browserify": "3.0.0",
    "tone": "14.7.77",
    "typescript": "5.2.2",
    "util": "0.12.5",
    "uuid": "8.3.2",
    "validator": "13.11.0",
    "xterm": "^5.2.1",
    "xterm-addon-fit": "^0.8.0"
  },
  "devDependencies": {
    "@babel/plugin-syntax-dynamic-import": "7.8.3",
    "@testing-library/jest-dom": "5.17.0",
    "@testing-library/react": "12.1.5",
    "@total-typescript/ts-reset": "^0.5.0",
    "@types/canvas-confetti": "^1.6.0",
    "@types/chai": "^4.3.4",
    "@types/enzyme": "^3.10.12",
    "@types/enzyme-adapter-react-16": "1.0.9",
    "@types/jest": "29.5.12",
    "@types/jquery": "^3.5.16",
    "@types/js-yaml": "4.0.5",
    "@types/loadable__component": "5.13.8",
    "@types/lodash-es": "^4.17.6",
    "@types/node-fetch": "2",
    "@types/prismjs": "^1.26.0",
    "@types/reach__router": "1.3.15",
    "@types/react": "16.14.56",
    "@types/react-dom": "16.9.24",
    "@types/react-gtm-module": "2.0.3",
    "@types/react-helmet": "6.1.11",
    "@types/react-instantsearch-core": "6.26.10",
    "@types/react-instantsearch-dom": "6.12.7",
    "@types/react-redux": "7.1.33",
    "@types/react-responsive": "8.0.8",
    "@types/react-scrollable-anchor": "0.6.4",
    "@types/react-spinkit": "3.0.10",
    "@types/react-test-renderer": "16.9.12",
    "@types/react-transition-group": "4.4.10",
    "@types/redux-actions": "2.6.5",
    "@types/sanitize-html": "^2.8.0",
    "@types/store": "^2.0.2",
    "@types/testing-library__jest-dom": "^5.14.5",
    "@types/validator": "^13.7.12",
    "autoprefixer": "10.4.17",
    "babel-plugin-macros": "3.1.0",
    "babel-plugin-transform-imports": "2.0.0",
    "chokidar": "3.6.0",
    "copy-webpack-plugin": "9.1.0",
    "core-js": "2.6.12",
    "cross-env": "7.0.3",
    "dotenv": "16.4.5",
    "eslint-plugin-testing-library": "^3.9.0",
    "gatsby-plugin-webpack-bundle-analyser-v2": "1.1.32",
    "jest-environment-jsdom": "29.7.0",
    "jest-json-schema-extended": "1.0.1",
    "joi": "17.12.2",
    "js-yaml": "4.1.0",
    "monaco-editor-webpack-plugin": "4.2.0",
    "node-fetch": "2.7.0",
    "react-test-renderer": "16.14.0",
    "redux-saga-test-plan": "4.0.6",
    "serve": "13.0.4",
    "ts-node": "10.9.2",
    "webpack": "5.90.3",
    "webpack-cli": "4.10.0"
  }
}
